﻿namespace DAL.Gateway
{
    public class Conexion
    {
        public static GDatos GDatos;

        public static bool IniciarSesion(string nombreServidor, string baseDatos, string usuario, string password, EDBMS dbs)
        {
            switch (dbs)
            {
                case EDBMS.Firebird:
                    GDatos= new Firebird(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.MySql:
                    GDatos= new MySql(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.Oracle:
                    GDatos = new Oracle(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.PostgreSQL:
                    GDatos = new PostgreSql(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.SqlServer:
                    GDatos = new SqlServer(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.MSAccess:
                    GDatos = new MSAccess(nombreServidor, baseDatos, usuario, password);
                    break;
                case EDBMS.HSQLDB:
                    GDatos = new HSqlDb(nombreServidor, baseDatos, usuario, password);
                    break;
                default:
                    break;
            }
            return GDatos.Autenticar();
        }
        public static bool IniciarSesion(string CadenaDeConxion, EDBMS dbs)
        {
            switch (dbs)
            {
                case EDBMS.Firebird:
                    GDatos = new Firebird(CadenaDeConxion);
                    break;
                 case EDBMS.MySql:
                    GDatos= new MySql(CadenaDeConxion);
                    break;
                case EDBMS.Oracle:
                    GDatos = new Oracle(CadenaDeConxion);
                    break;
                case EDBMS.PostgreSQL:
                    GDatos = new PostgreSql(CadenaDeConxion);
                    break;
                case EDBMS.SqlServer:
                    GDatos = new SqlServer(CadenaDeConxion);
                    break;
                case EDBMS.MSAccess:
                    GDatos = new MSAccess(CadenaDeConxion);
                    break;
                case EDBMS.HSQLDB:
                    GDatos = new HSqlDb(CadenaDeConxion);
                    break;
                default:
                    break;
            }

            return GDatos.Autenticar();
        }
        public void FinalizarSesion()
        {
            GDatos.CerrarConexion();
        } //fin FinalizaSesion
    }//end class util
}//end namespace

